home *** CD-ROM | disk | FTP | other *** search
- 1000 REM FIX BLOCKS (C)1990 CMD
- 1010 VN$="V2.04 06/21/96"
- 1020 F=ABS(PEEK(65533)=255)
- 1030 :
- 1040 PRINT"[147]FIX BLOCKS "VN$:PRINT
- 1050 PRINT"FIX BLOCKS ON ENTIRE DRIVE (Y/N) N"
- 1060 PRINT"(ENTER 'Y' ONLY IF YOUR SYSTEM AND/OR"
- 1070 PRINT"PARTITION TABLE IS CORRUPT!)"
- 1080 PRINT"[145][145][145][145]";:INPUTPE$
- 1090 :
- 1100 FORI=0TO8:READZO(I):NEXT
- 1110 FORI=0TO8:READZM(I):NEXT
- 1120 FORI=0TO8:READZS(I):NEXT
- 1130 :
- 1140 DIM SD(56):DIM SL(56):DIM DO(56)
- 1150 DIM TB(56)
- 1160 DIM RS(28)
- 1170 H$="0123456789ABCDEF"
- 1180 SB=16384
- 1190 :
- 1200 DIM PN%(255)
- 1210 DIM PN$(255)
- 1220 DIM PS%(255)
- 1230 :
- 1240 IFPE$="Y"THEN3650
- 1250 :
- 1260 INPUT"[147]HD DEVICE NUMBER";DV
- 1270 OPEN15,DV,15
- 1280 :
- 1290 PRINT#15,"M-R"+CHR$(160)+CHR$(254)+CHR$(6)
- 1300 FORI=1TO6:GET#15,A$:ID$=ID$+A$:NEXT
- 1310 IFID$<>"CMD HD"THEN PRINT"HD NOT PRESENT AT THAT DEVICE.":CLOSE15:END
- 1320 :
- 1330 PRINT:PRINT"READING PARTITION DIRECTORY.";
- 1340 PI=0
- 1350 OPEN2,DV,0,"$=P"
- 1360 FORI=1TO34:GET#2,A$:NEXT
- 1370 :
- 1380 PI=PI+1
- 1390 GET#2,A$,B$:A=ASC(A$+CHR$(0)):B=ASC(B$+CHR$(0))
- 1400 PN%(PI)=A+B*256
- 1410 GET#2,A$:IFA$<>CHR$(34)THEN1410
- 1420 PN$(PI)=A$
- 1430 GET#2,A$:IFA$<>CHR$(34)THENPN$(PI)=PN$(PI)+A$:GOTO1430
- 1440 PN$(PI)=PN$(PI)+A$
- 1450 GET#2,A$:IFA$<>""THEN1440
- 1460 GET#2,A$,B$
- 1470 PRINT".";
- 1480 IFA$<>""ORB$<>""THEN1380
- 1490 CLOSE2:PRINT
- 1500 :
- 1510 TL=1:CL=1:WL=16:TC=4
- 1520 PRINT"[147] [176]";:FORI=1TO36:PRINTCHR$(96);:NEXT:PRINT"[174]":A$=CHR$(125)
- 1530 FORI=1TOWL:PRINT" "A$" "A$:NEXT
- 1540 PRINT" [173]";:FORI=1TO36:PRINTCHR$(96);:NEXT:PRINT"[189]"
- 1550 PRINT
- 1560 PRINT" USE CURSOR KEYS TO MOVE POINTER"
- 1570 PRINT" PRESS <RETURN> TO SELECT/DESELECT"
- 1580 PRINT" PRESS 'T' TO TOGGLE ALL SELECTIONS"
- 1590 PRINT" PRESS '_' WHEN DONE";
- 1600 :
- 1610 PRINT""
- 1620 LL=TL+WL-1:IFLL>PITHENLL=PI
- 1630 FORI=TL TO LL:PRINTTAB(TC)" [157][157][157][157]"PN%(I):PRINT"[145]";
- 1640 A$=" ":IFPS%(I)<>0THENA$="*"
- 1650 PRINTTAB(TC+5)A$PN$(I):NEXT
- 1660 IF(LL-TL)=(WL-1)THEN1680
- 1670 FORI=LLTOTL+WL-2:PRINTTAB(TC)" ":NEXT
- 1680 PRINT"";:FORI=1TOCL:PRINT"";:NEXT
- 1690 PRINTTAB(TC-1)"=>[157][157]";
- 1700 CI=TL+CL-1
- 1710 GETA$:IFA$=""THEN1710
- 1720 PRINT" [157][157]";
- 1730 IFA$<>CHR$(17)THEN1780
- 1740 : CL=CL+1:IFCL+TL-1>PITHENCL=CL-1:GOTO1690
- 1750 : IFCL>WLTHENTL=TL+WL:CL=1:GOTO1610
- 1760 : PRINT"";:GOTO1690
- 1770 :
- 1780 IFA$<>CHR$(145)THEN1830
- 1790 : CL=CL-1:IFCL+TL=1THENCL=1:GOTO1690
- 1800 : IFCL=0THENTL=TL-WL:CL=WL:GOTO1610
- 1810 : PRINT"[145]";:GOTO1690
- 1820 :
- 1830 IFA$<>CHR$(13)THEN1900
- 1840 :
- 1850 : IFPS%(CI)=0THENPS%(CI)=1:A$="*":GOTO1870
- 1860 : PS%(CI)=0:A$="[160]"
- 1870 : PRINT""A$:PRINT"[145]";
- 1880 : GOTO1740
- 1890 :
- 1900 IFA$<>"T"THEN1970
- 1910 : FOR I=0TOPI
- 1920 : IF PS%(I)<>0THENPS%(I)=0:GOTO1940
- 1930 : PS%(I)=1
- 1940 : NEXT
- 1950 : GOTO 1610
- 1960 :
- 1970 IFA$<>"_"THEN1690
- 1980 :
- 1990 :
- 2000 :
- 2010 PRINT"[147]":PRINT"READING HARDWARE TABLE"
- 2020 PRINT#15,"M-R"+CHR$(0)+CHR$(144)+CHR$(224)
- 2030 FORI=0TO55
- 2040 GET#15,A$:SD(I)=INT(ASC(A$+CHR$(0))/16):SL(I)=ASC(A$+CHR$(0))AND15:NEXT
- 2050 FORI=0TO55:GET#15,A$:DO(I)=ASC(A$+CHR$(0))*65536:NEXT
- 2060 FORI=0TO55:GET#15,A$:DO(I)=DO(I)+ASC(A$+CHR$(0))*256:NEXT
- 2070 FORI=0TO55:GET#15,A$:DO(I)=DO(I)+ASC(A$+CHR$(0)):NEXT
- 2080 :
- 2090 :REM (MAIN LOOP)------------------
- 2100 :
- 2110 SD=SD(0):SL=SL(0):GOSUB3340:IFSS<>0THEN GOSUB2840:GOTO2210
- 2120 EF=0
- 2130 :FOR PX=1 TO PI
- 2140 : IF PS%(PX)<>0THENPN=PN%(PX):GOSUB2260
- 2150 :
- 2160 : IF EF<>0THEN2190
- 2170 :NEXT
- 2180 REM EXITING ERROR RECOVERY MODE
- 2190 MT=0:GOSUB 3360:IFSS<>0THENEF=0
- 2200 IFEF=0 THEN PRINT:PRINT"CHECK COMPLETED SUCESSFULLY "
- 2210 IFEF<>0 THEN PRINT:PRINT"REMAPPING UNSUCCESSFUL"
- 2220 CLOSE 15:END
- 2230 :
- 2240 :REM (END OF MAIN LOOP)-----------
- 2250 :
- 2260 PRINT"CHECKING PARTITION"PN
- 2270 PRINT#15,"G-P"+CHR$(PN)
- 2280 GET#15,A$:PT=ASC(A$+CHR$(0))
- 2290 IFPT=0 THEN PRINT" INVALID PARTITION! ";: GOTO2250
- 2300 :
- 2310 :FORI=1TO18:GET#15,A$:NEXT
- 2320 GET#15,A$,B$,C$
- 2330 PO =ASC(A$+CHR$(0))*65536 +ASC(B$+CHR$(0))*256 +ASC(C$+CHR$(0))
- 2340 FORI=22TO26:GET#15,A$:NEXT
- 2350 GET#15,A$,B$,C$
- 2360 PS =ASC(A$+CHR$(0))*65536 +ASC(B$+CHR$(0))*256 +ASC(C$+CHR$(0))
- 2370 IFPN=0THENPS=PS+PO:PO=0
- 2380 :
- 2390 :
- 2400 :
- 2410 BC=PS:OF=PO:BF=0:BR=0
- 2420 PRINT
- 2430 :
- 2440 VL=65535
- 2450 TE=-1
- 2460 TE=TE+1:IFOF>=DO(TE+1)THEN2460
- 2470 SD=SD(TE):SL=SL(TE)
- 2480 IF VL>BC THEN VL=BC
- 2490 VE=OF+VL-1
- 2500 IF VE>=DO(TE+1) THEN VL=DO(TE+1)-OF
- 2510 :
- 2520 : SC$="2F 00 00"
- 2530 : GOSUB4970
- 2540 : BN=OF-(DO(TE)):GOSUB5350
- 2550 : SS$=SS$+CHR$(BH)+CHR$(BM)+CHR$(BL)+CHR$(0)
- 2560 : BN=VL:GOSUB5350
- 2570 : SS$=SS$+CHR$(BM)+CHR$(BL)+CHR$(0)
- 2580 : GOSUB4890:GOSUB5090
- 2590 : IF SS=0 THEN 2800
- 2600 : BB=RS(4)*65536+RS(5)*256+RS(6)
- 2610 : IF(RS(2)AND15)=1THEN 2630
- 2612 : IF((RS(2)AND15)=9)AND(RS(12)=128)THEN2770
- 2620 : IF(RS(2)AND15)<>3THEN 2840
- 2630 : DL$=CHR$(0)+CHR$(0)+CHR$(0)+CHR$(4)
- 2640 : DL$=DL$+CHR$(RS(3))+CHR$(RS(4))+CHR$(RS(5))+CHR$(RS(6))
- 2650 :
- 2660 PRINT"BAD BLOCK FOUND------------------------"
- 2670 : PRINT"DEV"SD" LUN"SL" ";:GOSUB5230
- 2680 : GOSUB 2870
- 2690 : GOSUB 3550
- 2700 :
- 2710 : PRINT#15,"M-W"+CHR$(AL)+CHR$(AH)+CHR$(8)+DL$
- 2720 : SC$="07 00 00 00 00 00"
- 2730 : GOSUB 5080:IFSS<>0THEN 2840
- 2740 : GOSUB 3530:IFSS<>0THEN 2840
- 2750 : PRINT"---------------------------------------"
- 2760 :
- 2770 : BC=BC-(BB+DO(TE)-OF)
- 2780 : OF=BB+DO(TE):GOTO2440
- 2790 :
- 2800 : BC=BC-VL:OF=OF+VL
- 2810 IF BC>0 THEN 2440
- 2820 EF=0:RETURN
- 2830 :
- 2840 GOSUB 5180
- 2850 EF=1:RETURN
- 2860 :
- 2870 A0=(BB+DO(TE)-PO)*2 :A1=A0+1
- 2880 PRINT"PARTITION"PN TAB(16)"TYPE: ";
- 2890 IF PT<>4 THEN 2910
- 2900 : PRINT"1581 EMULATION":GOTO2930
- 2910 IF PT<>5 THEN 2980
- 2920 : PRINT"1581 CP/M"
- 2930 : T0=INT(A0/40)+1
- 2940 : S0=A0-(T0-1)*40
- 2950 : T1=INT(A0/40)+1
- 2960 : S1=A1-(T1-1)*40
- 2970 : GOTO 3210
- 2980 IF PT<>1 THEN 3050
- 2990 : PRINT"NATIVE MODE"
- 3000 : T0=INT(A0/256)+1
- 3010 : S0=A0-(T0-1)*256
- 3020 : T1=INT(A0/256)+1
- 3030 : S1=A1-(T1-1)*256
- 3040 : GOTO 3210
- 3050 IF PT<>2 THEN 3070
- 3060 : PRINT"1541 EMULATION":GOTO3090
- 3070 IF PT<>3 THEN 3140
- 3080 : PRINT"1571 EMULATION"
- 3090 : A4=A0:GOSUB 3260
- 3100 : T0=T4:S0=S4
- 3110 : A4=A1:GOSUB 3260
- 3120 : T1=T4:S1=S4:GOTO3210
- 3130 :
- 3140 :IF PT<>6THEN3160
- 3150 : PRINT"PRINT BUFFER":RETURN
- 3160 :IF PT<>7THEN3180
- 3170 : PRINT"FOREIGN MODE":RETURN
- 3180 :IFPT<>255THEN3240
- 3190 : PRINT"SYSTEM":RETURN
- 3200 :
- 3210 PRINT"DOS BLOCKS REMAPPED:"
- 3220 PRINT" TRACK"T0" SECTOR"S0
- 3230 PRINT" TRACK"T1" SECTOR"S1
- 3240 RETURN
- 3250 :
- 3260 : I=-1
- 3270 : I=I+1:IFA4>=ZO(I+1)THEN3270
- 3280 : TX=A4-ZO(I)
- 3290 : T4=ZS(I)+INT(TX/ZM(I))
- 3300 : S4=TX-INT(TX/ZM(I))*ZM(I)
- 3310 : RETURN
- 3320 :
- 3330 :
- 3340 REM SELECTING ERROR RECOVERY MODE
- 3350 MT=1
- 3360 RI=0
- 3370 SD=SD(RI):SL=SL(RI)
- 3380 :SC$="1A 00 01 00 14 00"
- 3390 :GOSUB 4880:IFSS<>0THENSS=0:RETURN
- 3400 :PH=INT((SB+14)/256):PL=(SB+14)-PH*256
- 3410 :PRINT#15,"M-R"+CHR$(PL)+CHR$(PH)+CHR$(1)
- 3420 :GET#15,A$:A=ASC(A$+CHR$(0))
- 3430 :IFMT=0 THEN A=TB(RI)
- 3440 :IFMT=1 THEN TB(RI)=A:A=A OR 32
- 3450 :PRINT#15,"M-W"+CHR$(PL-14)+CHR$(PH)+CHR$(1)+CHR$(0)
- 3460 :PRINT#15,"M-W"+CHR$(PL-2)+CHR$(PH)+CHR$(3)+CHR$(1)+CHR$(6)+CHR$(A)
- 3470 :SC$="15 01 00 00 14 00"
- 3480 :GOSUB 4880:IFSS<>0THENSS=0:RETURN
- 3490 RI=RI+1:IFSD(RI)<8THEN3370
- 3500 RETURN
- 3510 :
- 3520 :
- 3530 SC$="2A 00":GOSUB 4970:GOTO3560
- 3540 :
- 3550 SC$="28 00":GOSUB 4970:GOTO3560
- 3560 SS$=SS$+RIGHT$(DL$,4)+CHR$(0)+CHR$(0)+CHR$(1)+CHR$(0)
- 3570 AH=INT((SB+512)/256):AL=(SB+512)-AH*256
- 3580 GOSUB 4900:GOSUB5090
- 3590 RETURN
- 3600 :
- 3610 DATA 0,357,490,598,683,1040,1173,1281,32000
- 3620 DATA 21,19,18,17,21,19,18,17,17
- 3630 DATA 1,18,25,31,36,53,60,66,71
- 3640 :
- 3650 GOSUB 5440
- 3652 DV=30
- 3654 OPEN15,DV,15
- 3655 PRINT#15,"M-R"+CHR$(160)+CHR$(254)+CHR$(6)
- 3656 FORI=1TO6:GET#15,A$:ID$=ID$+A$:NEXT
- 3657 IFID$<>"CMD HD"THEN PRINT"HD NOT PRESENT AT THAT DEVICE.":CLOSE15:END
- 3658 :
- 3659 PRINT"[147]SCANNING FOR SCSI DRIVES: DEV LUN"
- 3660 PRINT" [163][163][163] [163][163][163]":PRINT
- 3670 HA=52736
- 3680 IFF=1THENHA=6144
- 3690 DIM D%(56):DIM L%(56):DIM DL%(56)
- 3700 FORI=0TO255:POKEHA+I,255:NEXT
- 3710 GOSUB4770
- 3720 D=0:L=0:HI=0
- 3730 :
- 3740 : DV=TD:SD=D:SL=L:SB=16384
- 3750 : SC$="00 00 00 00 00 00"
- 3760 : GOSUB4880
- 3770 : PRINT"[145]"TAB(31)D TAB(35)" "
- 3780 : IF SS=133THENL=7:GOTO3840
- 3790 : PRINT"[145]"TAB(35)L
- 3800 : IF SS<>0THEN3840
- 3810 : DL=D*16+L
- 3820 : POKEHA+HI,DL:HI=HI+1
- 3830 :
- 3840 L=L+1:IFL=8THENL=0:D=D+1
- 3850 IF D<8 THEN 3740
- 3860 GOSUB4770
- 3870 :
- 3880 PRINT"[147] CURRENTLY RECOGNIZED SCSI DRIVES":PRINT
- 3890 PRINT" DEV LUN DEV LUN DEV LUN DEV LUN"
- 3900 PRINT" [163][163][163] [163][163][163] [163][163][163] [163][163][163] [163][163][163] [163][163][163] [163][163][163] [163][163][163]"
- 3910 :
- 3920 GOSUB3940:GOTO4070
- 3930 :
- 3940 T1=1:T2=5:CT=1:FORI=1TO56:D%(I)=255:L%(I)=255:NEXT
- 3950 FORC=0TO3
- 3960 :PRINT"";
- 3970 :FOR I=C*14 TO C*14+13
- 3980 : DL=PEEK(HA+I):IF DL=255 THEN PRINT TAB(T1+C*10)" - -":GOTO4020
- 3990 : D=(DL AND 240)/16
- 4000 : L=(DL AND 15):D%(CT)=D:L%(CT)=L:CT=CT+1
- 4010 : PRINTTAB(T1+C*10)D;TAB(T2+C*10)L
- 4020 : DL%(I)=DL
- 4030 :NEXT I
- 4040 NEXT C
- 4050 RETURN
- 4060 :
- 4070 P=1
- 4080 PRINT" USE THE CURSOR KEYS TO SELECT DRIVE "
- 4090 PRINT" TO FIX - PRESS <RETURN> TO CONTINUE "
- 4100 XP$="":YP$=""
- 4110 XP=INT((P-1)/14):YP=P-(XP*14):XP=XP*10+8
- 4120 PRINT"";
- 4130 PRINTLEFT$(XP$,XP);
- 4140 PRINTLEFT$(YP$,YP);
- 4150 PRINT"_";
- 4160 GETK$:IFK$<>CHR$(13)ANDK$<>""ANDK$<>"[145]"ANDK$<>"[157]"ANDK$<>""THEN4160
- 4170 IFK$=""ANDP<56THENIFD%(P+1)<>255THENP=P+1
- 4180 IFK$="[145]"ANDP>1THENIFD%(P-1)<>255THENP=P-1
- 4190 IFK$=""ANDP<43THENIFD%(P+14)<>255THENP=P+14
- 4200 IFK$="[157]"ANDP>14THENIFD%(P-14)<>255THENP=P-14
- 4210 IFK$=CHR$(13)THEND=D%(P):L=L%(P):GOTO4240
- 4220 PRINT"[157] ";:REM D & L
- 4230 GOTO4110
- 4240 GOSUB4770
- 4250 :
- 4260 PRINT"";
- 4270 : DL=D*16+L
- 4280 : FOR I=0TO55
- 4290 : IF DL%(I)=DL THEN FL=1
- 4300 : NEXT
- 4310 : IF FL=0THEN PRINT"[147]ERROR:[146] SPECIFIED DEV/LUN NOT PRESENT!":GOTO 5410
- 4320 :
- 4330 : DV=TD:SD=D:SL=L:SB=16384
- 4340 : SC$="00 00 00 00 00 00"
- 4350 : GOSUB4880:IFSS=2THENGOSUB4880
- 4360 : IFSS<>0THENPRINT"[147]ERROR:[146] SCSI DRIVE NOT READY!":GOTO 5410
- 4370 :
- 4380 :
- 4390 SC$="25 00 00 00 00 00 00 00 00 00"
- 4400 GOSUB5080:IFSS<>0THEN 5400
- 4410 PRINT#15,"M-R"+CHR$(AL+1)+CHR$(AH)+CHR$(3)
- 4420 GET#15,BH$,BM$,BL$
- 4430 NB=ASC(BH$+CHR$(0))*65536+ASC(BM$+CHR$(0))*256+ASC(BL$+CHR$(0))+1
- 4440 :
- 4450 :
- 4460 PRINT"[147]SCANNING BLOCKS - PLEASE WAIT":PRINT
- 4470 PRINT"BAD BLOCKS: 0 REMAPPED: 0"
- 4480 BC=NB:BF=0:BR=0:OF=0
- 4490 VL=65535
- 4500 IF VL>BC THEN VL=BC
- 4510 : SC$="2F 00 00"
- 4520 : GOSUB4970
- 4530 : BN=OF:GOSUB5350
- 4540 : SS$=SS$+CHR$(BH)+CHR$(BM)+CHR$(BL)+CHR$(0)
- 4550 : BN=VL:GOSUB5350
- 4560 : SS$=SS$+CHR$(BM)+CHR$(BL)+CHR$(0)
- 4570 : GOSUB4890:GOSUB5090
- 4580 : IF SS=0 THEN 4720
- 4590 : BB=RS(4)*65536+RS(5)*256+RS(6)
- 4600 : IF(RS(2)AND15)=1THEN 4620
- 4602 : IF((RS(2)AND15)=9)AND(RS(12)=128)THEN4700
- 4610 : IF(RS(2)AND15)<>3THEN 5400
- 4620 : DL$=CHR$(0)+CHR$(0)+CHR$(0)+CHR$(4)
- 4630 : DL$=DL$+CHR$(RS(3))+CHR$(RS(4))+CHR$(RS(5))+CHR$(RS(6))
- 4640 : GOSUB5230:BF=BF+1:PRINT"[145][145]"TAB(11)BF:PRINT"[145]";
- 4650 : PRINT#15,"M-W"+CHR$(AL)+CHR$(AH)+CHR$(8)+DL$
- 4660 : SC$="07 00 00 00 00 00"
- 4670 : GOSUB 5080:IFSS<>0THEN 5400
- 4680 : BR=BR+1:PRINTTAB(28)BR:PRINT" "
- 4690 : PRINT"[145]";
- 4700 : BC=BC-(BB-OF):OF=BB:GOTO 4490
- 4710 :
- 4720 : BC=BC-VL:OF=OF+VL
- 4730 IF BC>0 THEN 4490
- 4740 PRINT"CHECK COMPLETED ":PRINT:GOTO5410
- 4750 :
- 4760 :
- 4770 CO=130
- 4780 EC=2
- 4790 PRINT#15,"M-W"+CHR$(08)CHR$(00)CHR$(2)CHR$(BH)CHR$(BL)
- 4800 PRINT#15,"M-W"+CHR$(00)CHR$(00)CHR$(1)CHR$(CO)
- 4810 PRINT#15,"M-R"+CHR$(00)CHR$(00)CHR$(1)
- 4820 GET#15,A$:IFA$=""THENA$=CHR$(0)
- 4830 IFA$>CHR$(127)THEN 4810
- 4840 IFA$<CHR$(2) THEN RETURN
- 4850 EC=EC-1:IFEC>0THEN 4800
- 4860 PRINT"DISK ERROR"ASC(A$)"[157] ":GOTO 5410
- 4870 :
- 4880 GOSUB4970
- 4890 AH=INT(SB/256):AL=SB-AH*256
- 4900 GOSUB4920:IFSS=2 THEN GOSUB4920
- 4910 RETURN
- 4920 PRINT#15,"S-C"+CHR$(SD)+CHR$(AL)+CHR$(AH)+SS$
- 4930 GET#15,SA$,SB$:SS=ASC(SA$+CHR$(0))
- 4940 RETURN
- 4950 :
- 4960 :
- 4970 SS$=""
- 4980 FOR I=1 TO LEN(SC$) STEP3
- 4990 : HV%=ASC(MID$(SC$,I,1))-55:IFHV%<10THENHV%=HV%+7
- 5000 HV%=HV%*16
- 5010 : HL%=ASC(MID$(SC$,I+1,1))-55:IFHL%<10THENHL%=HL%+7
- 5020 : IF I=4 THEN HV%=(HV%AND31)OR(SL*32)
- 5030 : SS$=SS$+CHR$(HV%+HL%)
- 5040 NEXT
- 5050 RETURN
- 5060 :
- 5070 :
- 5080 GOSUB4880
- 5090 IFSS=0 THEN RETURN
- 5100 SC$="03 00 00 00 1B 00"
- 5110 GOSUB4880
- 5120 PRINT#15,"M-R"+CHR$(AL)+CHR$(AH)+CHR$(27)
- 5130 FORI=0TO27:GET#15,A$:RS(I)=ASC(A$+CHR$(0)):NEXT
- 5140 SS=2:RETURN
- 5150 :
- 5160 :
- 5170 :
- 5180 EC=RS(0) :GOSUB5300:EC$=EH$
- 5190 EC=RS(2) :GOSUB5300:EK$=EH$
- 5200 EC=RS(12):GOSUB5300:ES$=EH$
- 5210 PRINT"SCSI ERROR: "EC$" "EK$" "ES$
- 5220 IF RS(0)<127 THEN 5280
- 5230 EB$=""
- 5240 FORI=3TO6
- 5250 EC=RS(I):GOSUB5300:EB$=EB$+EH$
- 5260 NEXT
- 5270 PRINT"BLOCK ADDRESS: "EB$
- 5280 RETURN
- 5290 :
- 5300 EH=INT(EC/16)
- 5310 EZ=EC-(EH*16)
- 5320 EH$=MID$(H$,EH+1,1)+MID$(H$,EZ+1,1)
- 5330 RETURN
- 5340 :
- 5350 BH=INT(BN/65536)
- 5360 BM=INT((BN-(BH*65536))/256)
- 5370 BL=BN-(BH*65536+BM*256)
- 5380 RETURN
- 5390 :
- 5400 GOSUB 5180
- 5410 CLOSE 15
- 5420 END
- 5430 :
- 5440 PRINT"[147]"
- 6010 PRINT"[159] FIX BLOCKS "VN$
- 6012 PRINT" (ENTIRE DRIVE OPTION)"
- 6020 PRINT" BEFORE CONTINUING YOU SHOULD PLACE"
- 6030 PRINT" YOUR HD INTO INSTALLATION MODE."
- 6040 PRINT" 1. PRESS AND HOLD DOWN THE SWAP 8"
- 6050 PRINT" AND SWAP 9 SWITCHES."
- 6060 PRINT" 2. WHILE HOLDING DOWN THE SWAP 8 AND"
- 6070 PRINT" SWAP 9 SWITCHES, PRESS THE RESET"
- 6080 PRINT" SWITCH ONCE AND RELEASE IT."
- 6090 PRINT" 3. CONTINUE TO HOLD DOWN THE SWAP 8"
- 6100 PRINT" AND SWAP 9 SWITCHES UNTIL THE"
- 6110 PRINT" ACTIVITY LED'S STAY OFF."
- 6120 PRINT" 4. RELEASE THE SWAP 8 AND SWAP 9
- 6130 [153]" SWITCHES.
- 6140 PRINT" PRESS <RETURN> TO CONTINUE"
- 6150 GETK$:IFK$<>CHR$(13)THEN6150
- 6160 RETURN
-